
$(document).ready(function(){
	
	$('#div-gallery img').css('display', 'none');
	
	ajaxGo('gallery/index/', '')
	
	$('#wrapper-gallery').hover( 
		function(){				

			hide_prev_next();
			
			$('.prev_next_button').css('display', 'block');
		}, 
		function(){
			$('.prev_next_button').css('display', 'none');
		}
	);
	
	$('button.prev').click(function(){			
		//слайд вправо
		var $marginLefty = $('#div-gallery');
		$marginLefty.animate({
			marginLeft: parseInt( $marginLefty.css('marginLeft'),10) == 0 ? $marginLefty.outerWidth() : 0
		},
		 function(){
		 	clear_img();
		 	$marginLefty.css('margin-left', 0);
		 	ajaxGo('gallery/index/' + page_prev, '');
		 });
	});
		
	$('button.next').click(function(){
		 // слайд влево
		var $lefty = $('#div-gallery');
		 $lefty.animate({
		    left: parseInt( $lefty.css('right'),10) == 0 ? -$lefty.outerWidth() : 0
		 },
		 function(){
		 	clear_img();
		 	$lefty.css('left', 0).css('right', 0);
		 	ajaxGo('gallery/index/' + page_next, '');
		 });
	 });
});

function ajaxGo(_url, _data)
{
    $.ajax({
		data: _data,
		dataType: "json",
		/*contentType: "application/txt; charset=utf-8",*/
		/*scriptCharset: "utf-8",*/
		type: "POST",		
		url: _url,
        /*success - если ошибок не возникло*/
		success: function (json, textStatus) {
            $.each( json.objects, function(i, val)
            {
            	
               switch( val.action ){
               		case 'load_page': load_page( val ); break;
               		case 'load_img': load_img( val ); break;
				}
            });
        },
		/*error - если произошла ошибка*/
        error: function(error){
			//$("body").html('<div>Error<br>'+error.responseText+'</div>');
        },
		/*beforeSend — срабатывает перед отправкой запроса*/
		beforeSend: function(){},
		/*complete — срабатывает по окончанию запроса*/
		complete: function(){}
    });
    return false;
}

// загружаем изображения на страницу галереи
function load_page(object)
{
	// обновляем глобальные переменные 
	page_all = object.page_all;
	page_prev = object.page_prev;
	page_next = object.page_next;
	
	hide_prev_next();
	
	//загружаем изображения
	count_img_load = 0;
	
	// массив для рандомной сортировки
	var randArr =  new Array();
	
	$.each( object.data, function(i, val)
	{
		randArr[i]=i;
		
		count_img_load++;
		
		$('#a-'+i)
		.attr('href','/media/gallery/'+ val[0] +'.jpg')
		.attr('title', val[1] );
    	
    	$('#img-'+i)
    	.css('display','none')
    	.attr('src','/media/gallery/thumbnail_'+ val[0] +'.jpg');
    });
    
    randArr.sort(sRand);
    
    // когда все картинки загружены показываем их в рандомном порядке 
    $('#div-gallery img').imagesLoaded( function() {
    	for (var i=0; i < randArr.length; i++) 
    	{
    		$('#img-' + randArr[i]).delay(150 * (i+1)).fadeIn(400);	
		}
    });
} 

// Для случайной сортировки массива
function sRand() { 
    return Math.random() > 0.5 ? 1 : -1;
}

function hide_prev_next()
{
	if(page_prev >= 0){
		$('#b-prev').css('display', 'block');
	}else{
		$('#b-prev').css('display', 'none');
	}
	if(page_next < page_all){
		$('#b-next').css('display', 'block');
	}else{
		$('#b-next').css('display', 'none');
	}
}

function clear_img(){		
	$('#div-gallery img').css('display', 'none').attr('href','');
}